#ifndef __BUTTPNLAYER_H_
#define __BUTTPNLAYER_H_

#include "driver/gpio.h"
#include "iot_button.h"
#include "button_gpio.h"

#define BUTTON_IO_NUM  32
#define BUTTON_ACTIVE_LEVEL   0

#define BUTTON_2_IO_NUM  36
#define BUTTON_2_ACTIVE_LEVEL   0

typedef enum
{
	KEY_R = 0,
	KEY_L = 1,
    KEY_R_LONG = 2,
    KEY_L_LONG = 3,
	KEY_COUNT = 4 // must be last
} btn_t;

// typedef enum
// {
// 	KEY_R = 0,
// 	KEY_L = 1,
//     KEY_R_LONG = 2,
//     KEY_L_LONG = 3,
// 	KEY_COUNT = 4 // must be last
// }key_enum_t;


extern button_handle_t btn;

typedef bool (*button_f)(void);

void xm_button_init(void);
void xm_button_2_init(void);


button_f buttons_setFunc(btn_t btn, button_f func);
void buttons_setFuncs(button_f func1, button_f func2, button_f func3, button_f func4);


#endif

